<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Translations instructions</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <style type="text/css">
  <!--
    body {
      font-family: Verdana,Helvetica,Arial,sans-serif;
      font-size: small;
    }
    code,pre {
      font-family: "Courier New",Courier,monospace;
      font-size: 1em;
    }
    h3 {
      padding: 2px;
      border-left: 4px solid #FFCC00;
      border-bottom: 1px solid #FFCC00;
    }
    h4 {
      padding: 2px;
      border-left: 8px solid #FF9933;
      border-bottom: 1px solid #FF9933;
    }
    pre {
      margin-left: 25px;
      margin-right: 25px;
      padding: 5px;
      background-color: #EEEEEE;
      border-left: 10px solid #CCCCCC;
    }
    p.important {
      padding: 5px;
      background-color: #FFDDDD;
      border: 1px solid red;
      font-weight: bold;
    }
    p.note {
      padding: 5px;
      background-color: #DDDDFF;
      border: 1px solid #6666FF;
    }
    acronym {
      cursor: help;
      border-bottom: 1px dotted black;
    }
  -->
  </style>
</head>
<body>
<h2>Translations instructions</h2>
<ul>
  <li><a href="#translate">I want to translate into my own language</a></li>
  <li><a href="#whatToTranslate">What can I translate?</a></li>
  <li><a href="#winmerge">Translating WinMerge</a>
    <ul>
      <li><a href="#winmerge_new">Add new language to WinMerge</a></li>
      <li><a href="#winmerge_update">Update existing language</a></li>
    </ul>
  </li>
  <li><a href="#shellextension">Translating ShellExtension</a></li>
    <ul>
	  <li><a href="#shellext_update">Update existing ShellExtension translation</a></li>
	  <li><a href="#shellext_new">Add new ShellExtension translation</a></li>
	</ul>
  <li><a href="#installer">Translating Installer</a></li>
  <li><a href="#readme">Translating ReadMe.txt</a></li>
  <li><a href="#website">Translating Website</a></li>
</ul>

<h3><a name="translate">I want to translate into my own language</a></h3>
<p>If you are interested in translating WinMerge to your own language, we'd
be happy to include your language as well.</p>

<p>WinMerge executable translations are based on per-language PO files. PO
files are text files which have original English string and translated strings
listed together. </p>

<p>We have a list with the <a href="http://winmerge.org/translations/#status">
status of current translations</a>, so you can check if your language is
already available and/or it needs to be updated.</p>

<p>
There is also a mailing list intended for WinMerge translators in SourceForge.net:
<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=winmerge-translate">
Translators mailing list</a>. Please consider joining to the list if you are
interested in translating WinMerge. Developers send translation related information
and notices to this list.
</p>

<h3><a name="whatToTranslate">What can I translate?</a></h3>
<p>Listings below show what you can actually translate for WinMerge. And what is
not useful to translate.</p>

<p>You can translate:</p>
<ul>
  <li>WinMerge program (visible strings, dialogs, messageboxes)</li>
  <li>Explorer integration component (ShellExtension)</li>
  <li>Installer</li>
  <li>Read-me text shown in installer and in Start-menu</li>
  <li>Website</li>
</ul>

<p>Currently you cannot translate:</p>
<ul>
  <li>User manual</li>
  <li>Various other documentation</li>
</ul>

<p>Yes, we know, translating user manual would be a good thing. But currently we
don't have a way to compile and show translated manual to users. If somebody
can help us with this, we are of course interested.</p>

<h3><a name="winmerge">Translating WinMerge</a></h3>
<p>We use <a href="http://en.wikipedia.org/wiki/Gettext">gettext</a> PO files
for the translation of the WinMerge program. <acronym title="Portable Object">
PO</acronym> files are plain text, so you can even translate using a normal text
editor. But we recommend that you use <a href="http://www.poedit.net/">poEdit
</a> or other tools that can handle and manipulate PO files.</p>

<p class="note"><b>NOTE:</b> We are not using gettext itself as a translation
system, we only use PO- and POT-files as files to have translations. Our
translation system is custom-made for WinMerge.</p>

<h4>The Quick Way</h4>
<p>The easiest and fastest way to improve existing translation is to edit
<code><em>LanguageName</em>.PO</code> file from <code>Languages/</code>
-subfolder from WinMerge program folder (e.g.
<code>C:\Program Files\WinMerge\Languages</code>). The PO files are text files
so most editor programs can be used. Edit the file, save it and start WinMerge.
The changes should be visible in WinMerge.</p>

<p>This is the fastest way to improve and fix translations. And we of course
accept changes done this way. However there is a better way too, but it is
more work.</p>

<h4>The Recommended Way</h4>
<p>Grab a copy of the source code from <a href="http://sourceforge.net/scm/?type=svn&group_id=13216">
Subversion</a> or go to <a href="http://winmerge.org/downloads/">our download
site</a> and download the latest archive with sources. If you can't find it,
then please <a href="mailto:winmerge-support@lists.sourceforge.net">ask us</a>
and we will send the file to you.</p>

<p>The PO template <code>English.pot</code> and the <code><em>LanguageName</em>
.po</code> translation files are located under the<code>
<a href="http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Translations/WinMerge/">
Translations\WinMerge</a></code> folder in the source code.</p>

<h4><a name="winmerge_new">Add new language to WinMerge</a></h4>
<ol>
  <li><p>Copy and rename <code>English.pot</code> to <code><em>YourLanguage</em>
  .po</code>, where <em>YourLanguage</em> is the english name of your language.
  </p></li>
  <li><p>Now translate what you can using <a href="http://www.poedit.net/">
  poEdit</a>. If you are not sure with one or the other translation, mark it as
  fuzzy. You can enter a comment in poEdit to give some information about your
  thoughts to other translators.</p></li>
  <li><p>Once you have translated all the strings, then you need to upload your
  PO file to our <a href="http://patches.winmerge.org">patch tracker</a>
  (please leave your contact information in case there are any problems that
  need to be resolved). In case you have problems uploading the patch, you can
  also send it to us by <a href="mailto:winmerge-support@lists.sourceforge.net">
  e-mail</a>.</p></li>
  <li><p>One of the developers will review your translation; if there
  are problems, we will contact you to get them resolved. When everything is
  working your translation will be committed to the source control and included
  in the next release of WinMerge.</p></li>
  <li><p>When the next major release is imminent, we will notify you again to
  give you a chance to update the translation with any new/changed strings.
  </p></li>
</ol>

<h4><a name="winmerge_update">Update existing language</a></h4>
<ol>
  <li>Get the <code>English.pot</code> template and the <code><em>YourLanguage
  </em>.po</code> file you want to improve.</li>
  <li>Start <a href="http://www.poedit.net/">poEdit</a> with <code><em>
  YourLanguage</em>.po</code> and select <em>Update from .pot file</em> from the
  "Catalog" menu.</li>
  <li>Select <code>English.pot</code> and wait until poEdit has finished merging
  the template and the current translation.</li>
  <li>The <em>untranslated</em> strings (and <em>fuzzy</em> translations) are
  always at the top of the list.</li>
  <li>Translate what you can and upload the resulting PO file to SF.net
  <a href="http://patches.winmerge.org">as a patch</a>.</li>
</ol>

<h3><a name="shellextension">Translating ShellExtension</a></h3>
<p>ShellExtension can be translated by translating PO file in the <code>
<a href="http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Translations/ShellExtension/">
WinMerge\Translations\ShellExtension</a></code>-folder in the WinMerge source
tree.</p>

<p>After updating one or more PO files the updated <code>RC</code> files are
generated by the script <code>CreateTranslatedRcFiles.vbs</code>.</p>

<h4><a name="shellext_update">Update existing ShellExtension translation</a></h4>
<ol>
  <li>Get the <code>English.pot</code> template and the <code><em>YourLanguage
  </em>.po</code> file you want to improve.</li>
  <li>Start <a href="http://www.poedit.net/">poEdit</a> with <code><em>
  YourLanguage</em>.po</code> and select <em>Update from .pot file</em> from the
  "Catalog" menu.</li>
  <li>Select <code>English.pot</code> and wait until poEdit has finished merging
  the template and the current translation.</li>
  <li>The <em>untranslated</em> strings (and <em>fuzzy</em> translations) are
  always at the top of the list.</li>
  <li>Translate what you can and upload the resulting PO file to SF.net
  <a href="http://patches.winmerge.org">as a patch</a>.</li>
</ol>

<h4><a name="shellext_new">Add new ShellExtension translation</a></h4>
<ol>
  <li><p>Copy and rename <code>English.pot</code> to <code><em>YourLanguage</em>
  .po</code>, where <em>YourLanguage</em> is the english name of your language.
  </p></li>
  <li><p>Now translate what you can using <a href="http://www.poedit.net/">
  poEdit</a>. If you are not sure with one or the other translation, mark it as
  fuzzy. You can enter a comment in poEdit to give some information about your
  thoughts to other translators.</p></li>
  <li><p>Once you have translated all the strings, then you need to upload your
  PO file to our <a href="http://patches.winmerge.org">patch tracker</a>
  (please leave your contact information in case there are any problems that
  need to be resolved). In case you have problems uploading the patch, you can
  also send it to us by <a href="mailto:winmerge-support@lists.sourceforge.net">
  e-mail</a>.</p></li>
  <li><p>One of the developers will review your translation; if there
  are problems, we will contact you to get them resolved. When everything is
  working your translation will be committed to the source control and included
  in the next release of WinMerge.</p></li>
</ol>

<h3><a name="installer">Translating Installer</a></h3>
<p>Installer translation files are in <code><a href="http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Translations/InnoSetup/">
WinMerge\Translations\InnoSetup\</a></code> folder. Look for a file
named by your language. If one does not yet exist, you should look for
InnoSetup translations in <a href="http://www.jrsoftware.org/files/istrans/">
http://www.jrsoftware.org/files/istrans/</a>.</p>

<p>After you open the file, scroll to end of it, there are few custom strings
you need to translate. Look for a header <code><strong>[CustomMessages]
</strong></code> and strings after it.</p>

<p>If you want to change other strings in file, please consider submitting those
changes upstream to InnoSetup translators so all InnoSetup users may benefit
from your improvements. We'll pick those updates then also.</p>

<p>There is one exception: For Hungarian InnoSetup translation we need to use
version downloadable from <a href="http://www.kornelpal.hu/ishu/">
http://www.kornelpal.hu/ishu/</a>. As the author put it:
<pre>
If you want you update the isl file I suggest to use the one with "a" definite
articles because that is the appropriate one for the name WinMerge.
</pre>
</p>

<h3><a name="readme">Translating ReadMe.txt</a></h3>
<p>Please consider translating also <code>ReadMe.txt</code> file - it is shown
in end of installer and is added to Start-menu. Translated versions of <code>
ReadMe.txt</code> are in <code>
<a href="http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Translations/Docs/Readme/">
WinMerge\Translations\Docs\Readme\</a></code> folder. And master <code>ReadMe.txt
</code> is in <code><a href="http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Docs/Users/ReadMe.txt">
WinMerge\Docs\Users\ReadMe.txt</a></code>.</p>

<h3><a name="website">Translating Website</a></h3>
<p>We use the services from <a href="http://www.transifex.net/">Transifex</a> for
the translation of the website. Please visit our project site for more details:</p>
<p><a href="http://www.transifex.net/projects/p/winmerge-web/">http://www.transifex.net/projects/p/winmerge-web/</a></p>
</body>
</html>